home *** CD-ROM | disk | FTP | other *** search
/ BMUG PD-ROM A / PD-ROM A.iso / Programming / Programming Languages / XLISP 2.0 / XLISP Tools / Utility (UL) / DECLARE.LSP < prev    next >
Encoding:
Lisp/Scheme  |  1988-04-07  |  1.1 KB  |  37 lines  |  [TEXT/ttxt]

  1. ;; Larry Mulcahy 1988
  2. ;; declarations
  3.  
  4. ; needs STACK
  5.  
  6. (setq *declared-globals* nil)
  7.  
  8. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  9. ; macro defvar 
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11.  
  12. (defmacro defvar (variable-name &optional value)
  13.   `(progn
  14.      (if (not (member ',variable-name *declared-globals*))
  15.          (push ',variable-name *declared-globals*))
  16.      (setq ,variable-name ,value)
  17.      (putprop ',variable-name 'variable 'binding)
  18.      ))
  19.  
  20. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  21. ; macro defconstant 
  22. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  23.  
  24. (defmacro defconstant (constant-name &optional value)
  25.   `(progn
  26.      (if (not (member ',constant-name *declared-globals*))
  27.          (push ',constant-name *declared-globals*))
  28.      (setq ,constant-name ,value)
  29.      (putprop ',constant-name 'constant 'binding)
  30.      ))
  31.  
  32. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  33. ; *declared-globals*
  34. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  35.  
  36. (defvar *declared-globals*)
  37.